In computing, Online Analytical Processing (OLAP) tools enable users to interactively analyze multidimensional data from multiple perspectives. Databases configured for OLAP use a multidimensional data model that allows complex analytical and ad-hoc queries with rapid execution. Multidimensional structure can be defined as a variation of a relational model that uses multidimensional structures to organize data and express the relationships between the data. One of the mechanisms in OLAP is the use of aggregations. Aggregations are built from a fact table by changing the granularity on specific dimensions and aggregating the data along these dimensions. The number of possible aggregations is determined by every possible combination of dimension granularities. Multidimensional OLAP systems store data in optimized multi-dimensional array storage, rather than in a relational database.
Typical applications of OLAP include business reporting for sales, marketing, management reporting, business process management (BPM), budgeting and forecasting, financial reporting and similar areas. OLAP processors use data stored in in-memory databases for analytical processing. An in-memory database is a database management system that primarily relies on the main memory for computer data storage. Accessing data in volatile memory reduces the I/O reading activity when querying the data which provides faster and more predictable performance than disk memory. However, shutting down or restarting systems with in-memory databases leads to loosing the data stored in the volatile storage of the in-memory databases.